package com.wgh.cart.converter;

import com.wgh.cart.entity.CartItem;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 购物车实体与DTO转换接口
 */
@Mapper(componentModel = "spring")
public interface CartConverter {

    CartConverter INSTANCE = Mappers.getMapper(CartConverter.class);

    /**
     * 将CartItem实体转换为CartItemDTO
     */
    com.wgh.cart.dto.CartItemDTO cartItemToDto(CartItem cartItem);

    /**
     * 将CartItemDTO转换为CartItem实体
     */
    CartItem dtoToCartItem(com.wgh.cart.dto.CartItemDTO cartItemDTO);

    /**
     * 将CartItem实体列表转换为CartItemDTO列表
     */
    List<com.wgh.cart.dto.CartItemDTO> cartItemListToDtoList(List<CartItem> cartItems);

    /**
     * 将CartItemDTO列表转换为CartItem实体列表
     */
    List<CartItem> dtoListToCartItemList(List<com.wgh.cart.dto.CartItemDTO> cartItemDTOs);
}